package br.com.sigeden.bean;

import br.com.sigeden.dao.CategoriaDAO;
import br.com.sigeden.model.Categoria;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author David Amom <davidamom@gmail.com>
 */
@ManagedBean
@SessionScoped
public class CategoriaBean {

    private Categoria categoria = new Categoria();
    private CategoriaDAO categoriaDAO = new CategoriaDAO();

    public CategoriaBean() {
    }

    public Categoria getCategoria() {
        return categoria;
    }

    public void setCategoria(Categoria categoria) {
        this.categoria = categoria;
    }

    public List<Categoria> listarCategorias() {
        return categoriaDAO.listarCategorias();
    }

    public String adicionarCategoria() {
        categoriaDAO.adicionarCategoria(categoria);
        return null;
    }

    public String removerCategoria(Categoria categoria) {
        categoriaDAO.removerCategoria(categoria);
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Sample info message", "PrimeFaces rocks!"));
        return null;
    }

    public void mensagens() {
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Sample info message", "PrimeFaces rocks!"));
    }

    public String carregarCategoria(Categoria categoria) {
        this.categoria = categoria;
        return "atualizarCategoria";
    }

    public String atualizarCategoria() {
        categoriaDAO.atualizarCategoria(categoria);
        this.categoria.setNome(null);
        this.categoria.setTipo(null);
        return "administracao";
    }
}
